package org.benjamin.lending.domain.entity;

import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Table;

@Entity
@Table(name = "tab_trusteeship_request")
public class TrusteeshipRequest {
	
	@Id
	private String id;
	
	@Column(name = "guid")
	private String guid;
	
	@Enumerated(EnumType.STRING)
	@Column(name = "type",nullable = false)
	private TrusteeshipType type;
	
	@Column(name = "tid")
	private Integer tid;
	
	@Column(name = "uid")
	private Integer uid;
	
	@Column(name = "bid")
	private Integer bid;
	
	@Column(name = "rel")
	private Integer rel;
	
	@Column(name = "url")
	private String url;
	
	@Column(name = "status")
	private RequestStatus status;
	
	@Column(name = "orig_data")
	private String origData;
	
	@Lob
	@Column(name = "pack_data")
	private String packData;
	
	@Column(name = "result_data")
	private String resultData;
	
	@Lob
	@Column(name = "rules_request")
	private String rulesRequest;
	
	@Lob
	@Column(name = "rules_response")
	private String rulesResponse;
	
	@Column(name = "process_result")
	private String proceesResult;
	
	@Column(name = "process_time")
	private Timestamp processTime;
	
	@Column(name = "create_time")
	private Timestamp createTime;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getGuid() {
		return guid;
	}

	public void setGuid(String guid) {
		this.guid = guid;
	}

	public TrusteeshipType getType() {
		return type;
	}

	public void setType(TrusteeshipType type) {
		this.type = type;
	}

	public Integer getTid() {
		return tid;
	}

	public void setTid(Integer tid) {
		this.tid = tid;
	}

	public Integer getUid() {
		return uid;
	}

	public void setUid(Integer uid) {
		this.uid = uid;
	}

	public Integer getBid() {
		return bid;
	}

	public void setBid(Integer bid) {
		this.bid = bid;
	}

	public Integer getRel() {
		return rel;
	}

	public void setRel(Integer rel) {
		this.rel = rel;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public RequestStatus getStatus() {
		return status;
	}

	public void setStatus(RequestStatus status) {
		this.status = status;
	}

	public String getOrigData() {
		return origData;
	}

	public void setOrigData(String origData) {
		this.origData = origData;
	}

	public String getPackData() {
		return packData;
	}
	
	public String getRulesRequest() {
		return rulesRequest;
	}

	public void setRulesRequest(String rulesRequest) {
		this.rulesRequest = rulesRequest;
	}

	public String getRulesResponse() {
		return rulesResponse;
	}

	public void setRulesResponse(String rulesResponse) {
		this.rulesResponse = rulesResponse;
	}

	public void setPackData(String packData) {
		this.packData = packData;
	}

	public String getResultData() {
		return resultData;
	}

	public void setResultData(String resultData) {
		this.resultData = resultData;
	}

	public String getProceesResult() {
		return proceesResult;
	}

	public void setProceesResult(String proceesResult) {
		this.proceesResult = proceesResult;
	}

	public Timestamp getProcessTime() {
		return processTime;
	}

	public void setProcessTime(Timestamp processTime) {
		this.processTime = processTime;
	}

	public Timestamp getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Timestamp createTime) {
		this.createTime = createTime;
	}
}
